package collection;

import java.util.ArrayList;
import java.util.List;

public class SubListDemo {
    public static void main(String[] args) {
        /*
        List提供了获取子集的操作：
        List subList(int start,int end):含头不含尾
         */
        List<Integer> list = new ArrayList<>();
        for(int i=0;i<10;i++){
            list.add(i * 10);
        }
        System.out.println(list);
        List<Integer> subList = list.subList(3, 8);//获取下标3到7的子集
        System.out.println(subList);
        //将子集每个元素都扩大10倍
        for(int i=0;i<subList.size();i++){
            subList.set(i, subList.get(i) * 10);
        }
        System.out.println("subList:"+subList);
        System.out.println("list:"+list);
        list.set(3, 1000);//将原集合下标为3的元素修改为1000
        System.out.println("list:"+list);
        System.out.println("subList:"+subList);
        list.remove(0);
        System.out.println("list："+list);//[10, 20, 1000, 400, 500, 600, 700, 80, 90]
        //原集合长度修改之后，子集将不能再进行任何操作，操作则发生异常，但是可以重新获取子集
        //System.out.println("sublist:"+subList);//运行时发生不支持修改异常

    }
}
